﻿Imports System.Configuration


''' <summary>
''' Custom Rule Definition
''' </summary>
''' <remarks>
''' Define a new custom rule which can be referenced in RuleSets
''' </remarks>
Public Class CustomRuleDefinition
    Inherits ConfigurationElement

    ''' <summary>
    ''' Gets or sets the name of the custom rule definition.
    ''' </summary>
    ''' <value>The name.</value>
    <ConfigurationProperty("name")> _
    Public Property Name() As String
        Get
            Return DirectCast(Me.Item("name"), String)
        End Get
        Set(ByVal Value As String)
            Me.Item("name") = Value
        End Set
    End Property

    ''' <summary>
    ''' Gets or sets the type. Should by [Type], [Assembly Name]. Type should be a class which Inherits <see cref="IRule(OF String)">IRule</see>
    ''' </summary>
    ''' <value>The type.</value>
    ''' <remarks>
    ''' Assembly name can be fully qualified or short.
    ''' </remarks>
    <ConfigurationProperty("type")> _
    Public Property Type() As String
        Get
            Return DirectCast(MyBase.Item("type"), String)
        End Get
        Set(ByVal Value As String)
            MyBase.Item("type") = Value
        End Set
    End Property

End Class
